Vystup fce jako TStrings
Otázka od: Petr K.
25. 10. 2002 22:55
Mam takovy maly problem
potrebuju aby vystup z fce byl typu TStrings
vse si udelam program se zkompiluje ale kdyz najede na radek
kde mam <promenna typu Tstrings>.Clear tak program zhavaruje
hlaskou Access violation at adress 77D345A2 in module 'user32.dll', Write
adress 00465D54.
Nevite nekdo jak to vyresit - jde mi o to ze vystup z funkce potrebuju
nacist do
ListBoxu
Diky Petr
---
Odchozí zpráva neobsahuje viry.
Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz).
Verze: 6.0.408 / Virová báze: 230 - datum vydání: 24.10.2002
Odpovedá: TVRZ Miroslav jr.
25. 10. 2002 22:58
ListBox.Items.AddStrings(tvoje_promenna)
zkus a uvidime - dej vedet jak dopadlo
MI'RA
-----Original Message-----
From: delphi-l-owner@clexpert.cz [mailto:delphi-l-owner@clexpert.cz]On
Behalf Of Petr K.
Sent: Friday, October 25, 2002 11:48 PM
To: Delphi clexpert
Subject: Vystup fce jako TStrings
Mam takovy maly problem
potrebuju aby vystup z fce byl typu TStrings
vse si udelam program se zkompiluje ale kdyz najede na radek
kde mam <promenna typu Tstrings>.Clear tak program zhavaruje
hlaskou Access violation at adress 77D345A2 in module 'user32.dll', Write
adress 00465D54.
Nevite nekdo jak to vyresit - jde mi o to ze vystup z funkce potrebuju
nacist do
ListBoxu
Diky Petr
---
Odchozí zpráva neobsahuje viry.
Zkontrolováno antivirovým systémem AVG (http://www.grisoft.cz).
Verze: 6.0.408 / Virová báze: 230 - datum vydání: 24.10.2002
Odpovedá: Ing. Pavel Žilinec
25. 10. 2002 23:41
Muzes si predat primo ListBox jako parametr a plnit ho. Take muzes
dany TStrings definovat uvnitr fce, ktera bude typu string a pak
udelat:
ListBox.Items.CommaText := VratSeznamHodnotOddelenyCarkami;
Urcite je mnohem vice moznosti, ale tyto snad budou stacit.
--------
ing. Pavel Zilinec
MailTo:zilinec@email.cz
Prog-Soft s.r.o. Plzen
Informacni system pro vyrobce
a distributory napoju
PK> Mam takovy maly problem
PK> potrebuju aby vystup z fce byl typu TStrings
PK> vse si udelam program se zkompiluje ale kdyz najede na radek
PK> kde mam <promenna typu Tstrings>.Clear tak program zhavaruje
PK> hlaskou Access violation at adress 77D345A2 in module 'user32.dll', Write
PK> adress 00465D54.
PK> Nevite nekdo jak to vyresit - jde mi o to ze vystup z funkce potrebuju
PK> nacist do
PK> ListBoxu
PK> Diky Petr
Odpovedá: ing. Jan Fiala
26. 10. 2002 5:30
Lepsi je pouzit proceduru, ktere predas parametr TStrings.
procedure NaplnListBox(lb: TStrings);
begin
lb.Clear;
{ a pak si naplnis polozky }
end;
volani je pak:
NaplnListBox(ListBox.Items);
--
ing. Jan Fiala
mailto:jan.fiala@iol.cz
25.10.2002 Petr K.:
> Mam takovy maly problem
> potrebuju aby vystup z fce byl typu TStrings
> vse si udelam program se zkompiluje ale kdyz najede na radek
> kde mam <promenna typu Tstrings>.Clear tak program zhavaruje
> hlaskou Access violation at adress 77D345A2 in module 'user32.dll', Write
> adress 00465D54.
> Nevite nekdo jak to vyresit - jde mi o to ze vystup z funkce potrebuju
> nacist do
> ListBoxu
Odpovedá: Petr Fejfar
26. 10. 2002 9:43
From: "Petr K." <xdelphi@seznam.cz>
> kde mam <promenna typu Tstrings>.Clear tak program
> zhavaruje hlaskou Access violation at adress 77D345A2
> in module 'user32.dll', Write adress 00465D54.
Nejspis proto, ze je <promenna typu Tstrings> neinicializovana.
Predpokladam, ze kdyz uz ses
rozhodl pro problematicke reseni s vracenim
instance tridy, tak ze si tu instanci v te funkci
taky vytvoris napr.
begin
Result := TStringList.Create;
...
end;
a pak ji ve volajicim kodu nezapomenes uvolnit.
(a taky snad vis, ze TStrings je abtraktni trida,
kterou nemuzes instanciovat).
HTH, pf